Service chaining refers to a service deployment model that applies a sequence of network services to a data flow in a specific order. A service chaining deployment model may insert Open Systems Interconnection (OSI) Layer 4 (L4) to Layer 7 (L7) services in data-forwarding paths between peers. Some examples of L4 to L7 services may include firewalls, wide area network (WAN) and application accelerations, server load balancing, network address translations (NATs). The L4 to L7 services are commonly located at a centralized location, for example, at a data center (DC) gateway. Thus, data-forwarding may direct all traffic for a data flow to traverse through the DC gateway. However, the DC gateway may become a high traffic location, and thus may not be efficient.
A more efficient service chaining deployment model may leverage recent development of network functions virtualization (NFV) and software defined networking (SDN) technologies. NFV enables the migration of services from dedicated hardware to software and/or virtual machines (VMs). SDN enables the separation of control and forwarding functions and a software programmable control plane. For example, services may be implemented as software components, moved out of the centralized location, and instantiated at multiple locations in the network by employing NFV. Data flows may be steered through the service instance locations by employing the SDN model, where a network controller may configure network nodes with data-forwarding instructions.